﻿Imports System.ComponentModel

Public Class UserSettings
    Implements INotifyPropertyChanged

    Public Event PropertyChanged(ByVal sender As Object, ByVal e As System.ComponentModel.PropertyChangedEventArgs) Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged

    Public Sub FirePropertyChangedEvent(ByVal propertyName As String)
        RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
    End Sub

    Private _alertWindowEnabled As Boolean
    Public Property AlertWindowEnabled() As Boolean
        Get
            Return _alertWindowEnabled
        End Get
        Set(ByVal value As Boolean)
            _alertWindowEnabled = value
            FirePropertyChangedEvent("AlertWindowEnabled")
        End Set
    End Property

    Private _balloonEnabled As Boolean
    Public Property BalloonEnabled() As Boolean
        Get
            Return _balloonEnabled
        End Get
        Set(ByVal value As Boolean)
            _balloonEnabled = value
            FirePropertyChangedEvent("BaloonEnabled")
        End Set
    End Property

    Private _webOpeningEnabled As Boolean
    Public Property WebOpeningEnabled() As Boolean
        Get
            Return _webOpeningEnabled
        End Get
        Set(ByVal value As Boolean)
            _webOpeningEnabled = value
            FirePropertyChangedEvent("WebOpeningEnabled")
        End Set
    End Property

    Private _webBrowserPath As String
    Public Property WebBrowserPath() As String
        Get
            Return _webBrowserPath
        End Get
        Set(ByVal value As String)
            _webBrowserPath = value
            FirePropertyChangedEvent("WebBrowserPath")
        End Set
    End Property

    Private _emailEnabled As Boolean
    Public Property EmailEnabled() As Boolean
        Get
            Return _emailEnabled
        End Get
        Set(ByVal value As Boolean)
            _emailEnabled = value
            FirePropertyChangedEvent("EmailEnabled")
        End Set
    End Property

    Private _email As String
    Public Property Email() As String
        Get
            Return _email
        End Get
        Set(ByVal value As String)
            _email = value
            FirePropertyChangedEvent("Email")
        End Set
    End Property

    Private _port As Integer
    Public Property Port() As Integer
        Get
            Return _port
        End Get
        Set(ByVal value As Integer)
            _port = value
            FirePropertyChangedEvent("Port")
        End Set
    End Property

    Private _smtpServer As String
    Public Property SmtpServer() As String
        Get
            Return _smtpServer
        End Get
        Set(ByVal value As String)
            _smtpServer = value
        End Set
    End Property

    Private _soundEnabled As Boolean
    Public Property SoundEnabled() As Boolean
        Get
            Return _soundEnabled
        End Get
        Set(ByVal value As Boolean)
            _soundEnabled = value
            FirePropertyChangedEvent("SoundEnabled")
        End Set
    End Property

    Private _soundFile As String
    Public Property SoundFile() As String
        Get
            Return _soundFile
        End Get
        Set(ByVal value As String)
            _soundFile = value
            FirePropertyChangedEvent("SoundFile")
        End Set
    End Property



    Private _windowWidth As Double
    Public Property WindowWidth() As Double
        Get
            Return _windowWidth
        End Get
        Set(ByVal value As Double)
            _windowWidth = value
            FirePropertyChangedEvent("WindowWidth")
        End Set
    End Property

    Private _windowHeight As Double
    Public Property WindowHeight() As Double
        Get
            Return _windowHeight
        End Get
        Set(ByVal value As Double)
            _windowHeight = value
            FirePropertyChangedEvent("WindowHeight")
        End Set
    End Property

#Region "LiveProgramListView Header"

    Private _programListViewTitleHeaderWidth As Double = 120
    Public Property ProgramListViewTitleHeaderWidth() As Double
        Get
            Return _programListViewTitleHeaderWidth
        End Get
        Set(ByVal value As Double)
            _programListViewTitleHeaderWidth = value
            FirePropertyChangedEvent("ProgramListViewTitleHeaderWidth")
        End Set
    End Property

    Private _programListViewCommunityHeaderWidth As Double = 120
    Public Property ProgramListViewCommunityHeaderWidth() As Double
        Get
            Return _programListViewCommunityHeaderWidth
        End Get
        Set(ByVal value As Double)
            _programListViewCommunityHeaderWidth = value
            FirePropertyChangedEvent("ProgramListViewCommunityHeaderWidth")
        End Set
    End Property

    Private _programListViewStartDateTimeHeaderWidth As Double = 70
    Public Property ProgramListViewStartDateTimeHeaderWidth() As Double
        Get
            Return _programListViewStartDateTimeHeaderWidth
        End Get
        Set(ByVal value As Double)
            _programListViewStartDateTimeHeaderWidth = value
            FirePropertyChangedEvent("ProgramListViewStartDateTimeHeaderWidth")
        End Set
    End Property

    Private _programListViewVisitorCountHeaderWidth As Double = 70
    Public Property ProgramListViewVisitorCountHeaderWidth() As Double
        Get
            Return _programListViewVisitorCountHeaderWidth
        End Get
        Set(ByVal value As Double)
            _programListViewVisitorCountHeaderWidth = value
            FirePropertyChangedEvent("ProgramListViewVisitorCountHeaderWidth")
        End Set
    End Property

    Private _programListViewCommentCountHeaderWidth As Double = 70
    Public Property ProgramListViewCommentCountHeaderWidth() As Double
        Get
            Return _programListViewCommentCountHeaderWidth
        End Get
        Set(ByVal value As Double)
            _programListViewCommentCountHeaderWidth = value
            FirePropertyChangedEvent("ProgramListViewCommentCountHeaderWidth")
        End Set
    End Property

    Private _programListViewMemberOnlyHeaderWidth As Double = 50
    Public Property ProgramListViewMemberOnlyHeaderWidth() As Double
        Get
            Return _programListViewMemberOnlyHeaderWidth
        End Get
        Set(ByVal value As Double)
            _programListViewMemberOnlyHeaderWidth = value
            FirePropertyChangedEvent("ProgramListViewMemberOnlyHeaderWidth")
        End Set
    End Property


    Private _programListViewContentHeaderWidth As Double = 200
    Public Property ProgramListViewContentHeaderWidth() As Double
        Get
            Return _programListViewContentHeaderWidth
        End Get
        Set(ByVal value As Double)
            _programListViewContentHeaderWidth = value
            FirePropertyChangedEvent("ProgramListViewContentHeaderWidth")
        End Set
    End Property
#End Region

#Region "CommunityListView Header"

    Private _communityListViewOnAirHeaderWidth As Double = 60
    Public Property CommunityListViewOnAirHeaderWidth() As Double
        Get
            Return _communityListViewOnAirHeaderWidth
        End Get
        Set(ByVal value As Double)
            _communityListViewOnAirHeaderWidth = value
            FirePropertyChangedEvent("CommunityListViewOnAirHeaderWidth")
        End Set
    End Property

    Private _communityListViewNameHeaderWidth As Double = 150
    Public Property CommunityListViewNameHeaderWidth() As Double
        Get
            Return _communityListViewNameHeaderWidth
        End Get
        Set(ByVal value As Double)
            _communityListViewNameHeaderWidth = value
            FirePropertyChangedEvent("CommunityListNameHeaderWidth")
        End Set
    End Property

    Private _communityListViewAirdateHeaderWidth As Double = 120
    Public Property CommunityListViewAirdateHeaderWidth() As Double
        Get
            Return _communityListViewAirdateHeaderWidth
        End Get
        Set(ByVal value As Double)
            _communityListViewAirdateHeaderWidth = value
            FirePropertyChangedEvent("CommunityListViewAirdateHeaderWidth")
        End Set
    End Property

#End Region

End Class
